﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using kinokasse.bauteile.contracts.Saalpläne;
using kinokasse.datamodel.contracts;
using System.Linq;

namespace kinokasse.saalpläne
{
    public class SitzeBepreisen : ISitzeBepreisen
    {
        public void In_Bepreisen(Tuple<IEnumerable<Sitz>, IEnumerable<Preisgruppe>> grunddaten) {

            Trace.TraceInformation("In_Bepreisung Start");

            var saalplan = new Saalplan(grunddaten.Item1);
            foreach (var sitz in saalplan.Sitze) {
                var preisgruppenbezeichnung = sitz.Preisgruppenbezeichnung;
                sitz.Preis = grunddaten.Item2.Where(x => x.Bezeichnung.ToLower() == preisgruppenbezeichnung.ToLower()).First().Preis;
            }

            Out_Saalplan(saalplan);

            Trace.TraceInformation("In_Bepreisung Ende");

        }

        public event Action<Saalplan> Out_Saalplan;
    }
}
